package com.shop.shoppingmall.service;

import com.shop.shoppingmall.entity.ShSpecialCoin;
import com.shop.shoppingmall.util.api.vo.Result;

import java.math.BigDecimal;
import java.util.Map;

/**
 * 专用币明细(ShSpecialCoin)表服务接口
 *
 * @author makejava
 * @since 2020-09-11 10:59:51
 */
public interface ShSpecialCoinService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    ShSpecialCoin queryById(String id);

    /**
     * 新增数据
     *
     * @param shSpecialCoin 实例对象
     * @return 实例对象
     */
    ShSpecialCoin insert(ShSpecialCoin shSpecialCoin);

    /**
     * 修改数据
     *
     * @param shSpecialCoin 实例对象
     * @return 实例对象
     */
    ShSpecialCoin update(ShSpecialCoin shSpecialCoin);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(String id);

    /**
     * 馨天专用币收入明细添加
     * @param income 收入金额
     * @param userId  用户id
     * @param detail  详情
     * @return
     */
    Result insertSpecialCoin(BigDecimal income, String userId, String detail);

    /**
     * 馨天币支出明细添加
     * @param expenditure  支出金额
     * @param userId 用户id
     * @param detail 详情
     * @return
     */
    Result insertExpenditure(BigDecimal expenditure, String userId, String detail);

    Result queryAll(Map map);

    Result querySpecialCoin(Map map);

}
